-
-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Server Registration Refactoring, Additional Improvements #323
base: main
Are you sure you want to change the base?
Conversation
…n no item is selected
…ager class instead of RegAsm. A new parameter is now available to force the use of RegAsm; just like before
… and multiple class-wide and project-wide cleanups List of changes: * SRM no longer loads assemblies with MEF but rather with Reflection and in sand boxed application domain * SR and SRM no longer keep assemblies open * SR updated to .Net4.62.2 * SRM now supports installation of older versions * It is now possible to get server information without loading a server * Installation and Registration information are not available separately * SR updated to allow manipulation of all registered extensions including managed extensions * Multiple `enum` types are strongly valued to act as a reminder to not change the value of items for backward compatibility * Executing CustomRegisterFunction and CustomUnregisterFunction now respects the compiled version of SharpShell * Public `Attribute`s are no longer need to be strongly typed to the assembly to retrieve information * RegistrationType enum renamed to RegistrationScope * SharpShellInfo now contains information about the used SharpShell assembly used by a SharpShellServer * SR ShellDebugger now redraws on resize * SR TestShell functionality temporarily disabled
…experimental" argument added to use the build in installation process
OK note to self, I need to unpick this into:
I had a bit of a play around earlier but started yak shaving, will look again soon. |
Please feel free to ask about anything ambiguous in the code. I checked the PR again and I don't see any changes to the framework of the main project. The only change is regarding the "ShellExtensionManager" project which is not a part of the library and is rather an additional standalone tool. The changes to the C# language version, however, should not create any problem since its just syntax update. The final compiled library is the same with or without it. And sorry again that I made it hard for you by committing all the changes at once. |
from @falahati, originally #260
This changes are in continuation of PR #259 aiming to improve the registration process and provide multiple ways for easy shell extension manipulation and should address multiple issues currently or previously open. This should be a backward compatible update.
First of all, I should probably apologize for committing the majority of changes in one commit, I didn't expect to go this far into the registration process. It just happened.
Commit's description already contains the majority of changes; however, the following list copied from the commit's description should also help:
enum
types are strongly valued to act as a reminder to not change the value of items for backward compatibilityAttribute
s are no longer need to be strongly typed to the assembly to retrieve informationTODO: